package com.isdepci.project.carbon.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.isdepci.framework.web.domain.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 绿证管理对象 green_certificate_management
 *
 * @author isdepci
 * @date 2023-05-19
 */
public class GreenCertificateManagement extends BaseEntity{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 项目代码 */
    private String projectCode;

    /** 购入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date intakeDate;

    /** 购买方 */
    private String purchaser;

    /** 购买电量(单位kWh) */
    private String purchaseElectricity;

    /** 减排二氧化碳(单位kg) */
    private BigDecimal carbonDioxide;

    /** 减排二氧化硫(单位kg) */
    private BigDecimal sulfurDioxide;

    /** 减排氮氧化物(单位kg) */
    private BigDecimal nitricOxide;

    private List<StationInfo>infoList;

    private Long glStationId;

    public Long getGlStationId() {
        return glStationId;
    }

    public void setGlStationId(Long glStationId) {
        this.glStationId = glStationId;
    }

    public List<StationInfo> getInfoList() {
        return infoList;
    }

    public void setInfoList(List<StationInfo> infoList) {
        this.infoList = infoList;
    }

    public void setId(Long id){
        this.id = id;
    }

    public Long getId(){
        return id;
    }
    public void setProjectCode(String projectCode){
        this.projectCode = projectCode;
    }

    public String getProjectCode(){
        return projectCode;
    }
    public void setPurchaser(String purchaser){
        this.purchaser = purchaser;
    }

    public String getPurchaser(){
        return purchaser;
    }
    public void setPurchaseElectricity(String purchaseElectricity){
        this.purchaseElectricity = purchaseElectricity;
    }

    public String getPurchaseElectricity(){
        return purchaseElectricity;
    }
    public void setCarbonDioxide(BigDecimal carbonDioxide){
        this.carbonDioxide = carbonDioxide;
    }

    public BigDecimal getCarbonDioxide(){
        return carbonDioxide;
    }
    public void setSulfurDioxide(BigDecimal sulfurDioxide){
        this.sulfurDioxide = sulfurDioxide;
    }

    public BigDecimal getSulfurDioxide(){
        return sulfurDioxide;
    }
    public void setNitricOxide(BigDecimal nitricOxide){
        this.nitricOxide = nitricOxide;
    }

    public BigDecimal getNitricOxide(){
        return nitricOxide;
    }

    public Date getIntakeDate() {
        return intakeDate;
    }

    public void setIntakeDate(Date intakeDate) {
        this.intakeDate = intakeDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectCode", getProjectCode())
            .append("intakeDate", getIntakeDate())
            .append("purchaser", getPurchaser())
            .append("purchaseElectricity", getPurchaseElectricity())
            .append("carbonDioxide", getCarbonDioxide())
            .append("sulfurDioxide", getSulfurDioxide())
            .append("nitricOxide", getNitricOxide())
            .toString();
    }
}
